Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deTCPConnectionProvider.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file deTCPConnectionProvider.hpp
00003 ///
00004 /// @brief 
00005 ///
00006 /// @author trajar
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Jun 2002
00023 /// @author trajar
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 #ifndef _DETCPCONNECTIONPROVIDER_HPP
00029 #define _DETCPCONNECTIONPROVIDER_HPP
00030 
00031 #include    <WINSOCK2.H>
00032 
00033 #ifndef     _DECONNECTIONPROVIDER_HPP
00034  #include   "deConnectionProvider.hpp"
00035 #endif
00036 
00037 typedef class DENET_API deTCPConnectionProvider : public deConnectionProvider
00038 {
00039 public:
00040 
00041     deTCPConnectionProvider(void);
00042     virtual ~deTCPConnectionProvider(void);
00043 
00044     struct ProviderInfo
00045     {
00046         DWORD               dwVersion;
00047         WSADATA             wsDeviceData;
00048         WSAPROTOCOL_INFO *  wsProtocolInfo; // we will hold a dozend protocols
00049         int                 iNumProtocols;
00050     };
00051 
00052     virtual deConnection *           GetConnectionAt( DWORD pIndex );
00053     static deTCPConnectionProvider * GetMgr(void)   { return m_Singleton; }
00054 
00055 protected:
00056 
00057     virtual deConnectionBin *   GetAvailableBin(void);
00058     virtual deConnection *      GetUnusedConnection(void);
00059 
00060     virtual eNetError   OnInit( DWORD dwFlags = NULL );
00061     virtual eNetError   OnShutdown( DWORD dwFlags = NULL );
00062     virtual eNetError   OnCreateConnection( deConnection ** pOut, void * pProviderInfo = NULL, DWORD dwFlags = NULL );
00063     virtual eNetError   OnCloseConnection( deConnection ** pConn, DWORD dwFlags = NULL );
00064 
00065 private:
00066 
00067     ProviderInfo        m_ProviderInfo;
00068         
00069     static deTCPConnectionProvider * m_Singleton;
00070 
00071 } deTCPConnectionProvider, *pdeTCPConnectionProvider;
00072 
00073 
00074 #endif

Generated on Mon Sep 12 19:58:40 2005 for Destiny3D by doxygen1.3-rc3